package cn.wolfcode.trip.app.web.controller;

import cn.wolfcode.trip.base.util.JsonResult;
import cn.wolfcode.trip.base.util.UploadUtil;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.HashMap;
import java.util.Map;

/**
 * @author by mycp
 * @Classname ImageController
 * @Description TODO 图片上传控制处理
 * @Date 2018/11/2 11:36
 */
@RestController
@RequestMapping("/images")
public class ImageController {
    /**
     * 接口设计:
     * 资源:/images
     * 参数: 二进制流
     * 动作: POST
     */
    @PostMapping
    @ResponseBody
    public Object upload(@RequestParam MultipartFile pic){
        // 创建一个map用于封装响应信息--新的图片路径
        Map map = new HashMap(16);
        // 判断上传文件的格式和大小是否符合要求
        // 设置一个状态, 1 为成功 进行文件保存, 0 为失败 不保存
        if (pic.getSize() > 0 && pic.getContentType().startsWith("image")) {
            // 调用uploadUtil进行文件的下载和保存
            String imgUrl = UploadUtil.upload(pic);
            map.put("url", imgUrl);
            map.put("status", 1);
        } else {
            map.put("msg", "请正确选择图片");
            map.put("status", 0);
        }
        // 同时需要将保存的新的图片路径作为响应参数返回
        return map;
    }
}
